/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Gestiongrupo;
import java.util.ArrayList;
import Gestioncategorias.*;
import Gestionequipo.*;

/**
 *
 * @author Adrian
 */
public class GestorGrupo {
    
    public GrupoDB grDB = new GrupoDB();
    public GestorEquipo eqG = new GestorEquipo();
    
    ArrayList<Grupo> grp;
    
    public ArrayList<Grupo> buscarGrupo(String nombre,Categoria c){
        
        
        grp = grDB.buscaGrupo(nombre,c);
        
        return grp;
    }
    
    public Grupo consultarGrupo(Integer idGrupo){
        
        for(int i = 0; i < grp.size(); i++){
            
            if(grp.get(i).GetId() == idGrupo ){
        
                return grp.get(i);
            }
        
        }
        
        return null;
    
    }
    
    public boolean inscribirEquipoFundacion(Equipo e, Grupo g){
        
        boolean confirmacion = grDB.compruebaJugadoresValidos(e,g);
        
        if(confirmacion){
            
            confirmacion = grDB.inscribeEquipoFundación(e.GetId(),g.GetId());
            
        }
        
        return confirmacion;
    }

    
    public boolean InscribirEquipo(String nombre, Integer id_grupo){
        
        boolean exito;
        
        int id_equipo = eqG.altaEquipo(nombre);
        
        exito = grDB.inscribeEquipo(id_equipo,id_grupo);
        
        return exito;
    }


    public boolean bajaEquipo(Integer id_equipo,Integer id_grupo){
        
        
        boolean confirmacion = grDB.darBajaEquipo(id_equipo,id_grupo);
        
        return confirmacion;
    }

    public boolean compruebaDatos(Integer idg, String nombre, Integer idc){
        
        
        if(idg == null){       
            return false;
        }
        
        if ((nombre == null) || (nombre.equals(""))){
            return false;
        }
        
        if (idc == null){
            return false;
        }

            
        return true;
    }

    public boolean compruebaDatos(String nombre, Integer idc){
        
        
        if ((nombre == null) || (nombre.equals(""))){
            return false;
        }
        
        if (idc == null){
            return false;
        }
            
        return true;
    }

    public boolean modificarGrupo(Integer id_grupo,String nombre,Integer id_categoria){
        
        boolean confirmacion = compruebaDatos(id_grupo,nombre,id_categoria);
        
        if(confirmacion){
            
            confirmacion = grDB.modificaGrupo(id_grupo,nombre,id_categoria);
        }
        
        return confirmacion;
    }

    public boolean crearGrupo(String nombre, Integer id_categoria){
        
        boolean confirmacion = compruebaDatos(nombre,id_categoria);
        
        if(confirmacion){
            
            Grupo g = new Grupo(null,nombre);
            confirmacion = grDB.creaGrupo(g,id_categoria);
        }
        
        return confirmacion;
        
    }
    
    
}
